﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Hiro.ActivationPoints.Interfaces;
using Hiro.Interfaces;

namespace Hiro.Loaders.Interfaces
{
    /// <summary>
    /// Represents a type that can convert a service map into a list of services.
    /// </summary>
    public interface IServiceBuilder
    {
        /// <summary>
        /// Converts a service map into a list of services.
        /// </summary>
        /// <param name="serviceMap">The service map that contains the list of dependencies and activation points.</param>
        /// <returns>A list of services.</returns>
        IList<IService> GetServices(IDictionary<IDependency, IList<ITypeActivationPoint>> serviceMap);
    }
}
